<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-pragma">{-# LANGUAGE CPP, RecordWildCards, FlexibleInstances, MultiParamTypeClasses #-}</span><span>
</span><span id="line-2"></span><span>
</span><span id="line-3"></span><span class="hs-comment">-- | Info about installed units (compiled libraries)</span><span>
</span><span id="line-4"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">GHC.Unit.Info</span><span>
</span><span id="line-5"></span><span>   </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="../../ghc-boot/src/GHC.Unit.Database.html#GenericUnitInfo"><span class="hs-identifier">GenericUnitInfo</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span>
</span><span id="line-6"></span><span>   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Info.html#GenUnitInfo"><span class="hs-identifier">GenUnitInfo</span></a></span><span>
</span><span id="line-7"></span><span>   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Info.html#UnitInfo"><span class="hs-identifier">UnitInfo</span></a></span><span>
</span><span id="line-8"></span><span>   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Info.html#UnitKey"><span class="hs-identifier">UnitKey</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span>
</span><span id="line-9"></span><span>   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Info.html#UnitKeyInfo"><span class="hs-identifier">UnitKeyInfo</span></a></span><span>
</span><span id="line-10"></span><span>   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Info.html#mkUnitKeyInfo"><span class="hs-identifier">mkUnitKeyInfo</span></a></span><span>
</span><span id="line-11"></span><span>   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Info.html#mapUnitInfo"><span class="hs-identifier">mapUnitInfo</span></a></span><span>
</span><span id="line-12"></span><span>   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Info.html#mkUnitPprInfo"><span class="hs-identifier">mkUnitPprInfo</span></a></span><span>
</span><span id="line-13"></span><span>
</span><span id="line-14"></span><span>   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Info.html#mkUnit"><span class="hs-identifier">mkUnit</span></a></span><span>
</span><span id="line-15"></span><span>
</span><span id="line-16"></span><span>   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Info.html#PackageId"><span class="hs-identifier">PackageId</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span>
</span><span id="line-17"></span><span>   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Info.html#PackageName"><span class="hs-identifier">PackageName</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span>
</span><span id="line-18"></span><span>   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="../../base/src/Data.Version.html#Version"><span class="hs-identifier">Version</span></a></span><span class="hs-special">(</span><span class="hs-glyph">..</span><span class="hs-special">)</span><span>
</span><span id="line-19"></span><span>   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Info.html#unitPackageNameString"><span class="hs-identifier">unitPackageNameString</span></a></span><span>
</span><span id="line-20"></span><span>   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Info.html#unitPackageIdString"><span class="hs-identifier">unitPackageIdString</span></a></span><span>
</span><span id="line-21"></span><span>   </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="GHC.Unit.Info.html#pprUnitInfo"><span class="hs-identifier">pprUnitInfo</span></a></span><span>
</span><span id="line-22"></span><span>   </span><span class="hs-special">)</span><span>
</span><span id="line-23"></span><span class="hs-keyword">where</span><span class="hs-cpp">

#include &quot;HsVersions.h&quot;
</span><span>
</span><span id="line-27"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Prelude.html"><span class="hs-identifier">GHC.Prelude</span></a></span><span>
</span><span id="line-28"></span><span>
</span><span id="line-29"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../ghc-boot/src/GHC.Unit.Database.html#"><span class="hs-identifier">GHC.Unit.Database</span></a></span><span>
</span><span id="line-30"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Data.Version.html#"><span class="hs-identifier">Data.Version</span></a></span><span>
</span><span id="line-31"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="../../base/src/Data.Bifunctor.html#"><span class="hs-identifier">Data.Bifunctor</span></a></span><span>
</span><span id="line-32"></span><span>
</span><span id="line-33"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Data.FastString.html"><span class="hs-identifier">GHC.Data.FastString</span></a></span><span>
</span><span id="line-34"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html"><span class="hs-identifier">GHC.Utils.Outputable</span></a></span><span>
</span><span id="line-35"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Unit.Module.html"><span class="hs-identifier">GHC.Unit.Module</span></a></span><span> </span><span class="hs-keyword">as</span><span> </span><span class="annot"><span class="hs-identifier">Module</span></span><span>
</span><span id="line-36"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Types.Unique.html"><span class="hs-identifier">GHC.Types.Unique</span></a></span><span>
</span><span id="line-37"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="GHC.Unit.Ppr.html"><span class="hs-identifier">GHC.Unit.Ppr</span></a></span><span>
</span><span id="line-38"></span><span>
</span><span id="line-39"></span><span class="hs-comment">-- | Information about an installed unit</span><span>
</span><span id="line-40"></span><span class="hs-comment">--</span><span>
</span><span id="line-41"></span><span class="hs-comment">-- We parameterize on the unit identifier:</span><span>
</span><span id="line-42"></span><span class="hs-comment">--    * UnitKey: identifier used in the database (cf 'UnitKeyInfo')</span><span>
</span><span id="line-43"></span><span class="hs-comment">--    * UnitId: identifier used to generate code (cf 'UnitInfo')</span><span>
</span><span id="line-44"></span><span class="hs-comment">--</span><span>
</span><span id="line-45"></span><span class="hs-comment">-- These two identifiers are different for wired-in packages. See Note [About</span><span>
</span><span id="line-46"></span><span class="hs-comment">-- Units] in &quot;GHC.Unit&quot;</span><span>
</span><span id="line-47"></span><span class="hs-keyword">type</span><span> </span><span id="GenUnitInfo"><span class="annot"><a href="GHC.Unit.Info.html#GenUnitInfo"><span class="hs-identifier hs-var">GenUnitInfo</span></a></span></span><span> </span><span id="local-6989586621680827953"><span class="annot"><a href="#local-6989586621680827953"><span class="hs-keyword hs-type">unit</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><a href="../../ghc-boot/src/GHC.Unit.Database.html#GenericUnitInfo"><span class="hs-identifier hs-type">GenericUnitInfo</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Types.html#Indefinite"><span class="hs-identifier hs-type">Indefinite</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680827953"><span class="hs-keyword hs-type">unit</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><a href="GHC.Unit.Info.html#PackageId"><span class="hs-identifier hs-type">PackageId</span></a></span><span> </span><span class="annot"><a href="GHC.Unit.Info.html#PackageName"><span class="hs-identifier hs-type">PackageName</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680827953"><span class="hs-keyword hs-type">unit</span></a></span><span> </span><span class="annot"><a href="GHC.Unit.Module.Name.html#ModuleName"><span class="hs-identifier hs-type">ModuleName</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Types.html#GenModule"><span class="hs-identifier hs-type">GenModule</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Types.html#GenUnit"><span class="hs-identifier hs-type">GenUnit</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680827953"><span class="hs-keyword hs-type">unit</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-48"></span><span>
</span><span id="line-49"></span><span class="hs-comment">-- | A unit key in the database</span><span>
</span><span id="line-50"></span><span class="hs-keyword">newtype</span><span> </span><span id="UnitKey"><span class="annot"><a href="GHC.Unit.Info.html#UnitKey"><span class="hs-identifier hs-var">UnitKey</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="UnitKey"><span class="annot"><a href="GHC.Unit.Info.html#UnitKey"><span class="hs-identifier hs-var">UnitKey</span></a></span></span><span> </span><span class="annot"><a href="GHC.Data.FastString.html#FastString"><span class="hs-identifier hs-type">FastString</span></a></span><span>
</span><span id="line-51"></span><span>
</span><span id="line-52"></span><span class="annot"><a href="GHC.Unit.Info.html#unitKeyFS"><span class="hs-identifier hs-type">unitKeyFS</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Info.html#UnitKey"><span class="hs-identifier hs-type">UnitKey</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Data.FastString.html#FastString"><span class="hs-identifier hs-type">FastString</span></a></span><span>
</span><span id="line-53"></span><span id="unitKeyFS"><span class="annot"><span class="annottext">unitKeyFS :: UnitKey -&gt; FastString
</span><a href="GHC.Unit.Info.html#unitKeyFS"><span class="hs-identifier hs-var hs-var">unitKeyFS</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Info.html#UnitKey"><span class="hs-identifier hs-type">UnitKey</span></a></span><span> </span><span id="local-6989586621680827950"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680827950"><span class="hs-identifier hs-var">fs</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680827950"><span class="hs-identifier hs-var">fs</span></a></span><span>
</span><span id="line-54"></span><span>
</span><span id="line-55"></span><span class="hs-comment">-- | Information about an installed unit (units are identified by their database</span><span>
</span><span id="line-56"></span><span class="hs-comment">-- UnitKey)</span><span>
</span><span id="line-57"></span><span class="hs-keyword">type</span><span> </span><span id="UnitKeyInfo"><span class="annot"><a href="GHC.Unit.Info.html#UnitKeyInfo"><span class="hs-identifier hs-var">UnitKeyInfo</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><a href="GHC.Unit.Info.html#GenUnitInfo"><span class="hs-identifier hs-type">GenUnitInfo</span></a></span><span> </span><span class="annot"><a href="GHC.Unit.Info.html#UnitKey"><span class="hs-identifier hs-type">UnitKey</span></a></span><span>
</span><span id="line-58"></span><span>
</span><span id="line-59"></span><span class="hs-comment">-- | Information about an installed unit (units are identified by their internal</span><span>
</span><span id="line-60"></span><span class="hs-comment">-- UnitId)</span><span>
</span><span id="line-61"></span><span class="hs-keyword">type</span><span> </span><span id="UnitInfo"><span class="annot"><a href="GHC.Unit.Info.html#UnitInfo"><span class="hs-identifier hs-var">UnitInfo</span></a></span></span><span>    </span><span class="hs-glyph">=</span><span> </span><span class="annot"><a href="GHC.Unit.Info.html#GenUnitInfo"><span class="hs-identifier hs-type">GenUnitInfo</span></a></span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#UnitId"><span class="hs-identifier hs-type">UnitId</span></a></span><span>
</span><span id="line-62"></span><span>
</span><span id="line-63"></span><span class="hs-comment">-- | Convert a DbUnitInfo (read from a package database) into `UnitKeyInfo`</span><span>
</span><span id="line-64"></span><span class="annot"><a href="GHC.Unit.Info.html#mkUnitKeyInfo"><span class="hs-identifier hs-type">mkUnitKeyInfo</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-boot/src/GHC.Unit.Database.html#DbUnitInfo"><span class="hs-identifier hs-type">DbUnitInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Info.html#UnitKeyInfo"><span class="hs-identifier hs-type">UnitKeyInfo</span></a></span><span>
</span><span id="line-65"></span><span id="mkUnitKeyInfo"><span class="annot"><span class="annottext">mkUnitKeyInfo :: DbUnitInfo -&gt; UnitKeyInfo
</span><a href="GHC.Unit.Info.html#mkUnitKeyInfo"><span class="hs-identifier hs-var hs-var">mkUnitKeyInfo</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(ByteString -&gt; UnitKey)
-&gt; (ByteString -&gt; Indefinite UnitKey)
-&gt; (ByteString -&gt; PackageId)
-&gt; (ByteString -&gt; PackageName)
-&gt; (ByteString -&gt; ModuleName)
-&gt; (DbModule -&gt; GenModule (GenUnit UnitKey))
-&gt; DbUnitInfo
-&gt; UnitKeyInfo
forall uid1 uid2 cid1 cid2 srcpkg1 srcpkg2 srcpkgname1 srcpkgname2
       modname1 modname2 mod1 mod2.
(uid1 -&gt; uid2)
-&gt; (cid1 -&gt; cid2)
-&gt; (srcpkg1 -&gt; srcpkg2)
-&gt; (srcpkgname1 -&gt; srcpkgname2)
-&gt; (modname1 -&gt; modname2)
-&gt; (mod1 -&gt; mod2)
-&gt; GenericUnitInfo cid1 srcpkg1 srcpkgname1 uid1 modname1 mod1
-&gt; GenericUnitInfo cid2 srcpkg2 srcpkgname2 uid2 modname2 mod2
</span><a href="../../ghc-boot/src/GHC.Unit.Database.html#mapGenericUnitInfo"><span class="hs-identifier hs-var">mapGenericUnitInfo</span></a></span><span>
</span><span id="line-66"></span><span>   </span><span class="annot"><span class="annottext">ByteString -&gt; UnitKey
</span><a href="#local-6989586621680827948"><span class="hs-identifier hs-var">mkUnitKey'</span></a></span><span>
</span><span id="line-67"></span><span>   </span><span class="annot"><span class="annottext">ByteString -&gt; Indefinite UnitKey
</span><a href="#local-6989586621680827947"><span class="hs-identifier hs-var">mkIndefUnitKey'</span></a></span><span>
</span><span id="line-68"></span><span>   </span><span class="annot"><span class="annottext">ByteString -&gt; PackageId
</span><a href="#local-6989586621680827946"><span class="hs-identifier hs-var">mkPackageIdentifier'</span></a></span><span>
</span><span id="line-69"></span><span>   </span><span class="annot"><span class="annottext">ByteString -&gt; PackageName
</span><a href="#local-6989586621680827945"><span class="hs-identifier hs-var">mkPackageName'</span></a></span><span>
</span><span id="line-70"></span><span>   </span><span class="annot"><span class="annottext">ByteString -&gt; ModuleName
</span><a href="#local-6989586621680827944"><span class="hs-identifier hs-var">mkModuleName'</span></a></span><span>
</span><span id="line-71"></span><span>   </span><span class="annot"><span class="annottext">DbModule -&gt; GenModule (GenUnit UnitKey)
</span><a href="#local-6989586621680827943"><span class="hs-identifier hs-var">mkModule'</span></a></span><span>
</span><span id="line-72"></span><span>   </span><span class="hs-keyword">where</span><span>
</span><span id="line-73"></span><span>     </span><span id="local-6989586621680827946"><span class="annot"><span class="annottext">mkPackageIdentifier' :: ByteString -&gt; PackageId
</span><a href="#local-6989586621680827946"><span class="hs-identifier hs-var hs-var">mkPackageIdentifier'</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">FastString -&gt; PackageId
</span><a href="GHC.Unit.Info.html#PackageId"><span class="hs-identifier hs-var">PackageId</span></a></span><span>      </span><span class="annot"><span class="annottext">(FastString -&gt; PackageId)
-&gt; (ByteString -&gt; FastString) -&gt; ByteString -&gt; PackageId
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">ByteString -&gt; FastString
</span><a href="GHC.Data.FastString.html#mkFastStringByteString"><span class="hs-identifier hs-var">mkFastStringByteString</span></a></span><span>
</span><span id="line-74"></span><span>     </span><span id="local-6989586621680827945"><span class="annot"><span class="annottext">mkPackageName' :: ByteString -&gt; PackageName
</span><a href="#local-6989586621680827945"><span class="hs-identifier hs-var hs-var">mkPackageName'</span></a></span></span><span>       </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">FastString -&gt; PackageName
</span><a href="GHC.Unit.Info.html#PackageName"><span class="hs-identifier hs-var">PackageName</span></a></span><span>    </span><span class="annot"><span class="annottext">(FastString -&gt; PackageName)
-&gt; (ByteString -&gt; FastString) -&gt; ByteString -&gt; PackageName
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">ByteString -&gt; FastString
</span><a href="GHC.Data.FastString.html#mkFastStringByteString"><span class="hs-identifier hs-var">mkFastStringByteString</span></a></span><span>
</span><span id="line-75"></span><span>     </span><span id="local-6989586621680827948"><span class="annot"><span class="annottext">mkUnitKey' :: ByteString -&gt; UnitKey
</span><a href="#local-6989586621680827948"><span class="hs-identifier hs-var hs-var">mkUnitKey'</span></a></span></span><span>           </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">FastString -&gt; UnitKey
</span><a href="GHC.Unit.Info.html#UnitKey"><span class="hs-identifier hs-var">UnitKey</span></a></span><span>        </span><span class="annot"><span class="annottext">(FastString -&gt; UnitKey)
-&gt; (ByteString -&gt; FastString) -&gt; ByteString -&gt; UnitKey
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">ByteString -&gt; FastString
</span><a href="GHC.Data.FastString.html#mkFastStringByteString"><span class="hs-identifier hs-var">mkFastStringByteString</span></a></span><span>
</span><span id="line-76"></span><span>     </span><span id="local-6989586621680827944"><span class="annot"><span class="annottext">mkModuleName' :: ByteString -&gt; ModuleName
</span><a href="#local-6989586621680827944"><span class="hs-identifier hs-var hs-var">mkModuleName'</span></a></span></span><span>        </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">FastString -&gt; ModuleName
</span><a href="GHC.Unit.Module.Name.html#mkModuleNameFS"><span class="hs-identifier hs-var">mkModuleNameFS</span></a></span><span> </span><span class="annot"><span class="annottext">(FastString -&gt; ModuleName)
-&gt; (ByteString -&gt; FastString) -&gt; ByteString -&gt; ModuleName
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">ByteString -&gt; FastString
</span><a href="GHC.Data.FastString.html#mkFastStringByteString"><span class="hs-identifier hs-var">mkFastStringByteString</span></a></span><span>
</span><span id="line-77"></span><span>     </span><span id="local-6989586621680827947"><span class="annot"><span class="annottext">mkIndefUnitKey' :: ByteString -&gt; Indefinite UnitKey
</span><a href="#local-6989586621680827947"><span class="hs-identifier hs-var hs-var">mkIndefUnitKey'</span></a></span></span><span> </span><span id="local-6989586621680827937"><span class="annot"><span class="annottext">ByteString
</span><a href="#local-6989586621680827937"><span class="hs-identifier hs-var">cid</span></a></span></span><span>  </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">UnitKey -&gt; Maybe UnitPprInfo -&gt; Indefinite UnitKey
forall unit. unit -&gt; Maybe UnitPprInfo -&gt; Indefinite unit
</span><a href="GHC.Unit.Types.html#Indefinite"><span class="hs-identifier hs-var">Indefinite</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteString -&gt; UnitKey
</span><a href="#local-6989586621680827948"><span class="hs-identifier hs-var">mkUnitKey'</span></a></span><span> </span><span class="annot"><span class="annottext">ByteString
</span><a href="#local-6989586621680827937"><span class="hs-identifier hs-var">cid</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Maybe UnitPprInfo
forall a. Maybe a
</span><a href="../../base/src/GHC.Maybe.html#Nothing"><span class="hs-identifier hs-var">Nothing</span></a></span><span>
</span><span id="line-78"></span><span>     </span><span id="local-6989586621680827931"><span class="annot"><span class="annottext">mkVirtUnitKey' :: DbInstUnitId -&gt; GenUnit UnitKey
</span><a href="#local-6989586621680827931"><span class="hs-identifier hs-var hs-var">mkVirtUnitKey'</span></a></span></span><span> </span><span id="local-6989586621680827930"><span class="annot"><span class="annottext">DbInstUnitId
</span><a href="#local-6989586621680827930"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">DbInstUnitId
</span><a href="#local-6989586621680827930"><span class="hs-identifier hs-var">i</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-79"></span><span>      </span><span class="annot"><a href="../../ghc-boot/src/GHC.Unit.Database.html#DbInstUnitId"><span class="hs-identifier hs-type">DbInstUnitId</span></a></span><span> </span><span id="local-6989586621680827928"><span class="annot"><span class="annottext">ByteString
</span><a href="#local-6989586621680827928"><span class="hs-identifier hs-var">cid</span></a></span></span><span> </span><span id="local-6989586621680827927"><span class="annot"><span class="annottext">[(ByteString, DbModule)]
</span><a href="#local-6989586621680827927"><span class="hs-identifier hs-var">insts</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">(UnitKey -&gt; FastString)
-&gt; Indefinite UnitKey
-&gt; [(ModuleName, GenModule (GenUnit UnitKey))]
-&gt; GenUnit UnitKey
forall unit.
(unit -&gt; FastString)
-&gt; Indefinite unit
-&gt; [(ModuleName, GenModule (GenUnit unit))]
-&gt; GenUnit unit
</span><a href="GHC.Unit.Types.html#mkGenVirtUnit"><span class="hs-identifier hs-var">mkGenVirtUnit</span></a></span><span> </span><span class="annot"><span class="annottext">UnitKey -&gt; FastString
</span><a href="GHC.Unit.Info.html#unitKeyFS"><span class="hs-identifier hs-var">unitKeyFS</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteString -&gt; Indefinite UnitKey
</span><a href="#local-6989586621680827947"><span class="hs-identifier hs-var">mkIndefUnitKey'</span></a></span><span> </span><span class="annot"><span class="annottext">ByteString
</span><a href="#local-6989586621680827928"><span class="hs-identifier hs-var">cid</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">((ByteString, DbModule)
 -&gt; (ModuleName, GenModule (GenUnit UnitKey)))
-&gt; [(ByteString, DbModule)]
-&gt; [(ModuleName, GenModule (GenUnit UnitKey))]
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#fmap"><span class="hs-identifier hs-var">fmap</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(ByteString -&gt; ModuleName)
-&gt; (DbModule -&gt; GenModule (GenUnit UnitKey))
-&gt; (ByteString, DbModule)
-&gt; (ModuleName, GenModule (GenUnit UnitKey))
forall (p :: * -&gt; * -&gt; *) a b c d.
Bifunctor p =&gt;
(a -&gt; b) -&gt; (c -&gt; d) -&gt; p a c -&gt; p b d
</span><a href="../../base/src/Data.Bifunctor.html#bimap"><span class="hs-identifier hs-var">bimap</span></a></span><span> </span><span class="annot"><span class="annottext">ByteString -&gt; ModuleName
</span><a href="#local-6989586621680827944"><span class="hs-identifier hs-var">mkModuleName'</span></a></span><span> </span><span class="annot"><span class="annottext">DbModule -&gt; GenModule (GenUnit UnitKey)
</span><a href="#local-6989586621680827943"><span class="hs-identifier hs-var">mkModule'</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">[(ByteString, DbModule)]
</span><a href="#local-6989586621680827927"><span class="hs-identifier hs-var">insts</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-80"></span><span>      </span><span class="annot"><a href="../../ghc-boot/src/GHC.Unit.Database.html#DbUnitId"><span class="hs-identifier hs-type">DbUnitId</span></a></span><span> </span><span id="local-6989586621680827923"><span class="annot"><span class="annottext">ByteString
</span><a href="#local-6989586621680827923"><span class="hs-identifier hs-var">uid</span></a></span></span><span>           </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Definite UnitKey -&gt; GenUnit UnitKey
forall uid. Definite uid -&gt; GenUnit uid
</span><a href="GHC.Unit.Types.html#RealUnit"><span class="hs-identifier hs-var">RealUnit</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">UnitKey -&gt; Definite UnitKey
forall unit. unit -&gt; Definite unit
</span><a href="GHC.Unit.Types.html#Definite"><span class="hs-identifier hs-var">Definite</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteString -&gt; UnitKey
</span><a href="#local-6989586621680827948"><span class="hs-identifier hs-var">mkUnitKey'</span></a></span><span> </span><span class="annot"><span class="annottext">ByteString
</span><a href="#local-6989586621680827923"><span class="hs-identifier hs-var">uid</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-81"></span><span>     </span><span id="local-6989586621680827943"><span class="annot"><span class="annottext">mkModule' :: DbModule -&gt; GenModule (GenUnit UnitKey)
</span><a href="#local-6989586621680827943"><span class="hs-identifier hs-var hs-var">mkModule'</span></a></span></span><span> </span><span id="local-6989586621680827920"><span class="annot"><span class="annottext">DbModule
</span><a href="#local-6989586621680827920"><span class="hs-identifier hs-var">m</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">case</span><span> </span><span class="annot"><span class="annottext">DbModule
</span><a href="#local-6989586621680827920"><span class="hs-identifier hs-var">m</span></a></span><span> </span><span class="hs-keyword">of</span><span>
</span><span id="line-82"></span><span>       </span><span class="annot"><a href="../../ghc-boot/src/GHC.Unit.Database.html#DbModule"><span class="hs-identifier hs-type">DbModule</span></a></span><span> </span><span id="local-6989586621680827918"><span class="annot"><span class="annottext">DbInstUnitId
</span><a href="#local-6989586621680827918"><span class="hs-identifier hs-var">uid</span></a></span></span><span> </span><span id="local-6989586621680827917"><span class="annot"><span class="annottext">ByteString
</span><a href="#local-6989586621680827917"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">GenUnit UnitKey -&gt; ModuleName -&gt; GenModule (GenUnit UnitKey)
forall u. u -&gt; ModuleName -&gt; GenModule u
</span><a href="GHC.Unit.Types.html#mkModule"><span class="hs-identifier hs-var">mkModule</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">DbInstUnitId -&gt; GenUnit UnitKey
</span><a href="#local-6989586621680827931"><span class="hs-identifier hs-var">mkVirtUnitKey'</span></a></span><span> </span><span class="annot"><span class="annottext">DbInstUnitId
</span><a href="#local-6989586621680827918"><span class="hs-identifier hs-var">uid</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteString -&gt; ModuleName
</span><a href="#local-6989586621680827944"><span class="hs-identifier hs-var">mkModuleName'</span></a></span><span> </span><span class="annot"><span class="annottext">ByteString
</span><a href="#local-6989586621680827917"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-83"></span><span>       </span><span class="annot"><a href="../../ghc-boot/src/GHC.Unit.Database.html#DbModuleVar"><span class="hs-identifier hs-type">DbModuleVar</span></a></span><span>  </span><span id="local-6989586621680827914"><span class="annot"><span class="annottext">ByteString
</span><a href="#local-6989586621680827914"><span class="hs-identifier hs-var">n</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">ModuleName -&gt; GenModule (GenUnit UnitKey)
forall u. ModuleName -&gt; GenModule (GenUnit u)
</span><a href="GHC.Unit.Module.html#mkHoleModule"><span class="hs-identifier hs-var">mkHoleModule</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">ByteString -&gt; ModuleName
</span><a href="#local-6989586621680827944"><span class="hs-identifier hs-var">mkModuleName'</span></a></span><span> </span><span class="annot"><span class="annottext">ByteString
</span><a href="#local-6989586621680827914"><span class="hs-identifier hs-var">n</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-84"></span><span>
</span><span id="line-85"></span><span class="hs-comment">-- | Map over the unit parameter</span><span>
</span><span id="line-86"></span><span id="local-6989586621680828092"><span id="local-6989586621680828093"><span class="annot"><a href="GHC.Unit.Info.html#mapUnitInfo"><span class="hs-identifier hs-type">mapUnitInfo</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621680828093"><span class="hs-identifier hs-type">u</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="#local-6989586621680828092"><span class="hs-identifier hs-type">v</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-special">(</span><span class="annot"><a href="#local-6989586621680828092"><span class="hs-identifier hs-type">v</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Data.FastString.html#FastString"><span class="hs-identifier hs-type">FastString</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Info.html#GenUnitInfo"><span class="hs-identifier hs-type">GenUnitInfo</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680828093"><span class="hs-identifier hs-type">u</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Info.html#GenUnitInfo"><span class="hs-identifier hs-type">GenUnitInfo</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680828092"><span class="hs-identifier hs-type">v</span></a></span></span></span><span>
</span><span id="line-87"></span><span id="mapUnitInfo"><span class="annot"><span class="annottext">mapUnitInfo :: forall u v.
(u -&gt; v) -&gt; (v -&gt; FastString) -&gt; GenUnitInfo u -&gt; GenUnitInfo v
</span><a href="GHC.Unit.Info.html#mapUnitInfo"><span class="hs-identifier hs-var hs-var">mapUnitInfo</span></a></span></span><span> </span><span id="local-6989586621680827908"><span class="annot"><span class="annottext">u -&gt; v
</span><a href="#local-6989586621680827908"><span class="hs-identifier hs-var">f</span></a></span></span><span> </span><span id="local-6989586621680827907"><span class="annot"><span class="annottext">v -&gt; FastString
</span><a href="#local-6989586621680827907"><span class="hs-identifier hs-var">gunitFS</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">(u -&gt; v)
-&gt; (Indefinite u -&gt; Indefinite v)
-&gt; (PackageId -&gt; PackageId)
-&gt; (PackageName -&gt; PackageName)
-&gt; (ModuleName -&gt; ModuleName)
-&gt; (GenModule (GenUnit u) -&gt; GenModule (GenUnit v))
-&gt; GenericUnitInfo
     (Indefinite u)
     PackageId
     PackageName
     u
     ModuleName
     (GenModule (GenUnit u))
-&gt; GenericUnitInfo
     (Indefinite v)
     PackageId
     PackageName
     v
     ModuleName
     (GenModule (GenUnit v))
forall uid1 uid2 cid1 cid2 srcpkg1 srcpkg2 srcpkgname1 srcpkgname2
       modname1 modname2 mod1 mod2.
(uid1 -&gt; uid2)
-&gt; (cid1 -&gt; cid2)
-&gt; (srcpkg1 -&gt; srcpkg2)
-&gt; (srcpkgname1 -&gt; srcpkgname2)
-&gt; (modname1 -&gt; modname2)
-&gt; (mod1 -&gt; mod2)
-&gt; GenericUnitInfo cid1 srcpkg1 srcpkgname1 uid1 modname1 mod1
-&gt; GenericUnitInfo cid2 srcpkg2 srcpkgname2 uid2 modname2 mod2
</span><a href="../../ghc-boot/src/GHC.Unit.Database.html#mapGenericUnitInfo"><span class="hs-identifier hs-var">mapGenericUnitInfo</span></a></span><span>
</span><span id="line-88"></span><span>   </span><span class="annot"><span class="annottext">u -&gt; v
</span><a href="#local-6989586621680827908"><span class="hs-identifier hs-var">f</span></a></span><span>         </span><span class="hs-comment">-- unit identifier</span><span>
</span><span id="line-89"></span><span>   </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(u -&gt; v) -&gt; Indefinite u -&gt; Indefinite v
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#fmap"><span class="hs-identifier hs-var">fmap</span></a></span><span> </span><span class="annot"><span class="annottext">u -&gt; v
</span><a href="#local-6989586621680827908"><span class="hs-identifier hs-var">f</span></a></span><span class="hs-special">)</span><span>  </span><span class="hs-comment">-- indefinite unit identifier</span><span>
</span><span id="line-90"></span><span>   </span><span class="annot"><span class="annottext">PackageId -&gt; PackageId
forall a. a -&gt; a
</span><a href="../../base/src/GHC.Base.html#id"><span class="hs-identifier hs-var">id</span></a></span><span>        </span><span class="hs-comment">-- package identifier</span><span>
</span><span id="line-91"></span><span>   </span><span class="annot"><span class="annottext">PackageName -&gt; PackageName
forall a. a -&gt; a
</span><a href="../../base/src/GHC.Base.html#id"><span class="hs-identifier hs-var">id</span></a></span><span>        </span><span class="hs-comment">-- package name</span><span>
</span><span id="line-92"></span><span>   </span><span class="annot"><span class="annottext">ModuleName -&gt; ModuleName
forall a. a -&gt; a
</span><a href="../../base/src/GHC.Base.html#id"><span class="hs-identifier hs-var">id</span></a></span><span>        </span><span class="hs-comment">-- module name</span><span>
</span><span id="line-93"></span><span>   </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(GenUnit u -&gt; GenUnit v)
-&gt; GenModule (GenUnit u) -&gt; GenModule (GenUnit v)
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/GHC.Base.html#fmap"><span class="hs-identifier hs-var">fmap</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(u -&gt; v) -&gt; (v -&gt; FastString) -&gt; GenUnit u -&gt; GenUnit v
forall u v. (u -&gt; v) -&gt; (v -&gt; FastString) -&gt; GenUnit u -&gt; GenUnit v
</span><a href="GHC.Unit.Types.html#mapGenUnit"><span class="hs-identifier hs-var">mapGenUnit</span></a></span><span> </span><span class="annot"><span class="annottext">u -&gt; v
</span><a href="#local-6989586621680827908"><span class="hs-identifier hs-var">f</span></a></span><span> </span><span class="annot"><span class="annottext">v -&gt; FastString
</span><a href="#local-6989586621680827907"><span class="hs-identifier hs-var">gunitFS</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="hs-comment">-- instantiating modules</span><span>
</span><span id="line-94"></span><span>
</span><span id="line-95"></span><span class="hs-comment">-- TODO: there's no need for these to be FastString, as we don't need the uniq</span><span>
</span><span id="line-96"></span><span class="hs-comment">--       feature, but ghc doesn't currently have convenient support for any</span><span>
</span><span id="line-97"></span><span class="hs-comment">--       other compact string types, e.g. plain ByteString or Text.</span><span>
</span><span id="line-98"></span><span>
</span><span id="line-99"></span><span class="hs-keyword">newtype</span><span> </span><span id="PackageId"><span class="annot"><a href="GHC.Unit.Info.html#PackageId"><span class="hs-identifier hs-var">PackageId</span></a></span></span><span>   </span><span class="hs-glyph">=</span><span> </span><span id="PackageId"><span class="annot"><a href="GHC.Unit.Info.html#PackageId"><span class="hs-identifier hs-var">PackageId</span></a></span></span><span>    </span><span class="annot"><a href="GHC.Data.FastString.html#FastString"><span class="hs-identifier hs-type">FastString</span></a></span><span> </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span id="local-6989586621680827898"><span id="local-6989586621680827903"><span class="annot"><span class="annottext">PackageId -&gt; PackageId -&gt; Bool
(PackageId -&gt; PackageId -&gt; Bool)
-&gt; (PackageId -&gt; PackageId -&gt; Bool) -&gt; Eq PackageId
forall a. (a -&gt; a -&gt; Bool) -&gt; (a -&gt; a -&gt; Bool) -&gt; Eq a
/= :: PackageId -&gt; PackageId -&gt; Bool
$c/= :: PackageId -&gt; PackageId -&gt; Bool
== :: PackageId -&gt; PackageId -&gt; Bool
$c== :: PackageId -&gt; PackageId -&gt; Bool
</span><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621680827865"><span id="local-6989586621680827869"><span id="local-6989586621680827873"><span id="local-6989586621680827877"><span id="local-6989586621680827881"><span id="local-6989586621680827885"><span id="local-6989586621680827890"><span class="annot"><span class="annottext">Eq PackageId
Eq PackageId
-&gt; (PackageId -&gt; PackageId -&gt; Ordering)
-&gt; (PackageId -&gt; PackageId -&gt; Bool)
-&gt; (PackageId -&gt; PackageId -&gt; Bool)
-&gt; (PackageId -&gt; PackageId -&gt; Bool)
-&gt; (PackageId -&gt; PackageId -&gt; Bool)
-&gt; (PackageId -&gt; PackageId -&gt; PackageId)
-&gt; (PackageId -&gt; PackageId -&gt; PackageId)
-&gt; Ord PackageId
PackageId -&gt; PackageId -&gt; Bool
PackageId -&gt; PackageId -&gt; Ordering
PackageId -&gt; PackageId -&gt; PackageId
forall a.
Eq a
-&gt; (a -&gt; a -&gt; Ordering)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; a)
-&gt; (a -&gt; a -&gt; a)
-&gt; Ord a
min :: PackageId -&gt; PackageId -&gt; PackageId
$cmin :: PackageId -&gt; PackageId -&gt; PackageId
max :: PackageId -&gt; PackageId -&gt; PackageId
$cmax :: PackageId -&gt; PackageId -&gt; PackageId
&gt;= :: PackageId -&gt; PackageId -&gt; Bool
$c&gt;= :: PackageId -&gt; PackageId -&gt; Bool
&gt; :: PackageId -&gt; PackageId -&gt; Bool
$c&gt; :: PackageId -&gt; PackageId -&gt; Bool
&lt;= :: PackageId -&gt; PackageId -&gt; Bool
$c&lt;= :: PackageId -&gt; PackageId -&gt; Bool
&lt; :: PackageId -&gt; PackageId -&gt; Bool
$c&lt; :: PackageId -&gt; PackageId -&gt; Bool
compare :: PackageId -&gt; PackageId -&gt; Ordering
$ccompare :: PackageId -&gt; PackageId -&gt; Ordering
</span><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Ord</span></span></span></span></span></span></span></span></span><span class="hs-special">)</span><span>
</span><span id="line-100"></span><span class="hs-keyword">newtype</span><span> </span><span id="PackageName"><span class="annot"><a href="GHC.Unit.Info.html#PackageName"><span class="hs-identifier hs-var">PackageName</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span id="PackageName"><span class="annot"><a href="GHC.Unit.Info.html#PackageName"><span class="hs-identifier hs-var">PackageName</span></a></span></span><span>
</span><span id="line-101"></span><span>   </span><span class="hs-special">{</span><span> </span><span id="unPackageName"><span class="annot"><span class="annottext">PackageName -&gt; FastString
</span><a href="GHC.Unit.Info.html#unPackageName"><span class="hs-identifier hs-var hs-var">unPackageName</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Data.FastString.html#FastString"><span class="hs-identifier hs-type">FastString</span></a></span><span>
</span><span id="line-102"></span><span>   </span><span class="hs-special">}</span><span>
</span><span id="line-103"></span><span>   </span><span class="hs-keyword">deriving</span><span> </span><span class="hs-special">(</span><span id="local-6989586621680827854"><span id="local-6989586621680827858"><span class="annot"><span class="annottext">PackageName -&gt; PackageName -&gt; Bool
(PackageName -&gt; PackageName -&gt; Bool)
-&gt; (PackageName -&gt; PackageName -&gt; Bool) -&gt; Eq PackageName
forall a. (a -&gt; a -&gt; Bool) -&gt; (a -&gt; a -&gt; Bool) -&gt; Eq a
/= :: PackageName -&gt; PackageName -&gt; Bool
$c/= :: PackageName -&gt; PackageName -&gt; Bool
== :: PackageName -&gt; PackageName -&gt; Bool
$c== :: PackageName -&gt; PackageName -&gt; Bool
</span><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var">Eq</span></span></span></span><span class="hs-special">,</span><span> </span><span id="local-6989586621680827823"><span id="local-6989586621680827827"><span id="local-6989586621680827831"><span id="local-6989586621680827835"><span id="local-6989586621680827839"><span id="local-6989586621680827843"><span id="local-6989586621680827847"><span class="annot"><span class="annottext">Eq PackageName
Eq PackageName
-&gt; (PackageName -&gt; PackageName -&gt; Ordering)
-&gt; (PackageName -&gt; PackageName -&gt; Bool)
-&gt; (PackageName -&gt; PackageName -&gt; Bool)
-&gt; (PackageName -&gt; PackageName -&gt; Bool)
-&gt; (PackageName -&gt; PackageName -&gt; Bool)
-&gt; (PackageName -&gt; PackageName -&gt; PackageName)
-&gt; (PackageName -&gt; PackageName -&gt; PackageName)
-&gt; Ord PackageName
PackageName -&gt; PackageName -&gt; Bool
PackageName -&gt; PackageName -&gt; Ordering
PackageName -&gt; PackageName -&gt; PackageName
forall a.
Eq a
-&gt; (a -&gt; a -&gt; Ordering)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; Bool)
-&gt; (a -&gt; a -&gt; a)
-&gt; (a -&gt; a -&gt; a)
-&gt; Ord a
min :: PackageName -&gt; PackageName -&gt; PackageName
$cmin :: PackageName -&gt; PackageName -&gt; PackageName
max :: PackageName -&gt; PackageName -&gt; PackageName
$cmax :: PackageName -&gt; PackageName -&gt; PackageName
&gt;= :: PackageName -&gt; PackageName -&gt; Bool
$c&gt;= :: PackageName -&gt; PackageName -&gt; Bool
&gt; :: PackageName -&gt; PackageName -&gt; Bool
$c&gt; :: PackageName -&gt; PackageName -&gt; Bool
&lt;= :: PackageName -&gt; PackageName -&gt; Bool
$c&lt;= :: PackageName -&gt; PackageName -&gt; Bool
&lt; :: PackageName -&gt; PackageName -&gt; Bool
$c&lt; :: PackageName -&gt; PackageName -&gt; Bool
compare :: PackageName -&gt; PackageName -&gt; Ordering
$ccompare :: PackageName -&gt; PackageName -&gt; Ordering
</span><span class="hs-identifier hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">Ord</span></span></span></span></span></span></span></span></span><span class="hs-special">)</span><span>
</span><span id="line-104"></span><span>
</span><span id="line-105"></span><span class="hs-keyword">instance</span><span> </span><span class="annot"><a href="GHC.Types.Unique.html#Uniquable"><span class="hs-identifier hs-type">Uniquable</span></a></span><span> </span><span class="annot"><a href="GHC.Unit.Info.html#PackageId"><span class="hs-identifier hs-type">PackageId</span></a></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-106"></span><span>  </span><span id="local-6989586621680827814"><span class="annot"><span class="annottext">getUnique :: PackageId -&gt; Unique
</span><a href="GHC.Types.Unique.html#getUnique"><span class="hs-identifier hs-var hs-var hs-var hs-var">getUnique</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Info.html#PackageId"><span class="hs-identifier hs-type">PackageId</span></a></span><span> </span><span id="local-6989586621680827812"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680827812"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">FastString -&gt; Unique
forall a. Uniquable a =&gt; a -&gt; Unique
</span><a href="GHC.Types.Unique.html#getUnique"><span class="hs-identifier hs-var">getUnique</span></a></span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680827812"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-107"></span><span>
</span><span id="line-108"></span><span class="hs-keyword">instance</span><span> </span><span class="annot"><a href="GHC.Types.Unique.html#Uniquable"><span class="hs-identifier hs-type">Uniquable</span></a></span><span> </span><span class="annot"><a href="GHC.Unit.Info.html#PackageName"><span class="hs-identifier hs-type">PackageName</span></a></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-109"></span><span>  </span><span id="local-6989586621680827808"><span class="annot"><span class="annottext">getUnique :: PackageName -&gt; Unique
</span><a href="#local-6989586621680827808"><span class="hs-identifier hs-var hs-var hs-var hs-var">getUnique</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Info.html#PackageName"><span class="hs-identifier hs-type">PackageName</span></a></span><span> </span><span id="local-6989586621680827807"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680827807"><span class="hs-identifier hs-var">n</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">FastString -&gt; Unique
forall a. Uniquable a =&gt; a -&gt; Unique
</span><a href="GHC.Types.Unique.html#getUnique"><span class="hs-identifier hs-var">getUnique</span></a></span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680827807"><span class="hs-identifier hs-var">n</span></a></span><span>
</span><span id="line-110"></span><span>
</span><span id="line-111"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621680827804"><span class="annot"><a href="GHC.Utils.Outputable.html#Outputable"><span class="hs-identifier hs-type">Outputable</span></a></span><span> </span><span class="annot"><a href="GHC.Unit.Info.html#PackageId"><span class="hs-identifier hs-type">PackageId</span></a></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-112"></span><span>  </span><span id="local-6989586621680827802"><span class="annot"><span class="annottext">ppr :: PackageId -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var hs-var hs-var hs-var">ppr</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Info.html#PackageId"><span class="hs-identifier hs-type">PackageId</span></a></span><span> </span><span id="local-6989586621680827800"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680827800"><span class="hs-identifier hs-var">str</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">FastString -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ftext"><span class="hs-identifier hs-var">ftext</span></a></span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680827800"><span class="hs-identifier hs-var">str</span></a></span><span>
</span><span id="line-113"></span><span>
</span><span id="line-114"></span><span class="hs-keyword">instance</span><span> </span><span id="local-6989586621680827796"><span class="annot"><a href="GHC.Utils.Outputable.html#Outputable"><span class="hs-identifier hs-type">Outputable</span></a></span><span> </span><span class="annot"><a href="GHC.Unit.Info.html#PackageName"><span class="hs-identifier hs-type">PackageName</span></a></span></span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-115"></span><span>  </span><span id="local-6989586621680827795"><span class="annot"><span class="annottext">ppr :: PackageName -&gt; SDoc
</span><a href="#local-6989586621680827795"><span class="hs-identifier hs-var hs-var hs-var hs-var">ppr</span></a></span></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Unit.Info.html#PackageName"><span class="hs-identifier hs-type">PackageName</span></a></span><span> </span><span id="local-6989586621680827794"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680827794"><span class="hs-identifier hs-var">str</span></a></span></span><span class="hs-special">)</span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">FastString -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ftext"><span class="hs-identifier hs-var">ftext</span></a></span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680827794"><span class="hs-identifier hs-var">str</span></a></span><span>
</span><span id="line-116"></span><span>
</span><span id="line-117"></span><span id="local-6989586621680828078"><span class="annot"><a href="GHC.Unit.Info.html#unitPackageIdString"><span class="hs-identifier hs-type">unitPackageIdString</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Info.html#GenUnitInfo"><span class="hs-identifier hs-type">GenUnitInfo</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680828078"><span class="hs-identifier hs-type">u</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span></span><span>
</span><span id="line-118"></span><span id="unitPackageIdString"><span class="annot"><span class="annottext">unitPackageIdString :: forall u. GenUnitInfo u -&gt; String
</span><a href="GHC.Unit.Info.html#unitPackageIdString"><span class="hs-identifier hs-var hs-var">unitPackageIdString</span></a></span></span><span> </span><span id="local-6989586621680827793"><span class="annot"><span class="annottext">GenUnitInfo u
</span><a href="#local-6989586621680827793"><span class="hs-identifier hs-var">pkg</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">FastString -&gt; String
</span><a href="GHC.Data.FastString.html#unpackFS"><span class="hs-identifier hs-var">unpackFS</span></a></span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680827791"><span class="hs-identifier hs-var">str</span></a></span><span>
</span><span id="line-119"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-120"></span><span>    </span><span class="annot"><a href="GHC.Unit.Info.html#PackageId"><span class="hs-identifier hs-type">PackageId</span></a></span><span> </span><span id="local-6989586621680827791"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680827791"><span class="hs-identifier hs-var">str</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">GenUnitInfo u -&gt; PackageId
forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; srcpkgid
</span><a href="../../ghc-boot/src/GHC.Unit.Database.html#unitPackageId"><span class="hs-identifier hs-var hs-var">unitPackageId</span></a></span><span> </span><span class="annot"><span class="annottext">GenUnitInfo u
</span><a href="#local-6989586621680827793"><span class="hs-identifier hs-var">pkg</span></a></span><span>
</span><span id="line-121"></span><span>
</span><span id="line-122"></span><span id="local-6989586621680827789"><span class="annot"><a href="GHC.Unit.Info.html#unitPackageNameString"><span class="hs-identifier hs-type">unitPackageNameString</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Info.html#GenUnitInfo"><span class="hs-identifier hs-type">GenUnitInfo</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680827789"><span class="hs-identifier hs-type">u</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../base/src/GHC.Base.html#String"><span class="hs-identifier hs-type">String</span></a></span></span><span>
</span><span id="line-123"></span><span id="unitPackageNameString"><span class="annot"><span class="annottext">unitPackageNameString :: forall u. GenUnitInfo u -&gt; String
</span><a href="GHC.Unit.Info.html#unitPackageNameString"><span class="hs-identifier hs-var hs-var">unitPackageNameString</span></a></span></span><span> </span><span id="local-6989586621680827788"><span class="annot"><span class="annottext">GenUnitInfo u
</span><a href="#local-6989586621680827788"><span class="hs-identifier hs-var">pkg</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">FastString -&gt; String
</span><a href="GHC.Data.FastString.html#unpackFS"><span class="hs-identifier hs-var">unpackFS</span></a></span><span> </span><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680827787"><span class="hs-identifier hs-var">str</span></a></span><span>
</span><span id="line-124"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-125"></span><span>    </span><span class="annot"><a href="GHC.Unit.Info.html#PackageName"><span class="hs-identifier hs-type">PackageName</span></a></span><span> </span><span id="local-6989586621680827787"><span class="annot"><span class="annottext">FastString
</span><a href="#local-6989586621680827787"><span class="hs-identifier hs-var">str</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">GenUnitInfo u -&gt; PackageName
forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; srcpkgname
</span><a href="../../ghc-boot/src/GHC.Unit.Database.html#unitPackageName"><span class="hs-identifier hs-var hs-var">unitPackageName</span></a></span><span> </span><span class="annot"><span class="annottext">GenUnitInfo u
</span><a href="#local-6989586621680827788"><span class="hs-identifier hs-var">pkg</span></a></span><span>
</span><span id="line-126"></span><span>
</span><span id="line-127"></span><span class="annot"><a href="GHC.Unit.Info.html#pprUnitInfo"><span class="hs-identifier hs-type">pprUnitInfo</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Info.html#UnitInfo"><span class="hs-identifier hs-type">UnitInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Utils.Outputable.html#SDoc"><span class="hs-identifier hs-type">SDoc</span></a></span><span>
</span><span id="line-128"></span><span id="pprUnitInfo"><span class="annot"><span class="annottext">pprUnitInfo :: UnitInfo -&gt; SDoc
</span><a href="GHC.Unit.Info.html#pprUnitInfo"><span class="hs-identifier hs-var hs-var">pprUnitInfo</span></a></span></span><span> </span><span class="annot"><a href="../../ghc-boot/src/GHC.Unit.Database.html#GenericUnitInfo"><span class="hs-identifier hs-type">GenericUnitInfo</span></a></span><span> </span><span class="hs-special">{</span><span id="local-6989586621680827756"><span id="local-6989586621680827757"><span id="local-6989586621680827758"><span id="local-6989586621680827759"><span id="local-6989586621680827760"><span id="local-6989586621680827761"><span id="local-6989586621680827762"><span id="local-6989586621680827763"><span id="local-6989586621680827764"><span id="local-6989586621680827765"><span id="local-6989586621680827766"><span id="local-6989586621680827767"><span id="local-6989586621680827768"><span id="local-6989586621680827769"><span id="local-6989586621680827770"><span id="local-6989586621680827771"><span id="local-6989586621680827772"><span id="local-6989586621680827773"><span id="local-6989586621680827774"><span id="local-6989586621680827775"><span id="local-6989586621680827776"><span id="local-6989586621680827777"><span id="local-6989586621680827778"><span id="local-6989586621680827779"><span id="local-6989586621680827780"><span id="local-6989586621680827781"><span id="local-6989586621680827782"><span id="local-6989586621680827783"><span id="local-6989586621680827784"><span class="annot"><span class="annottext">Bool
String
[String]
[(ModuleName, Maybe (GenModule (GenUnit UnitId)))]
[(ModuleName, GenModule (GenUnit UnitId))]
[(UnitId, String)]
[ModuleName]
[UnitId]
Maybe PackageName
Version
Indefinite UnitId
UnitId
PackageId
PackageName
unitAbiDepends :: forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; [(uid, String)]
unitAbiHash :: forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; String
unitCcOptions :: forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; [String]
unitComponentName :: forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; Maybe srcpkgname
unitDepends :: forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; [uid]
unitExposedModules :: forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; [(modulename, Maybe mod)]
unitExtDepFrameworkDirs :: forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; [String]
unitExtDepFrameworks :: forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; [String]
unitExtDepLibsGhc :: forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; [String]
unitExtDepLibsSys :: forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; [String]
unitHaddockHTMLs :: forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; [String]
unitHaddockInterfaces :: forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; [String]
unitHiddenModules :: forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; [modulename]
unitId :: forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; uid
unitImportDirs :: forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; [String]
unitIncludeDirs :: forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; [String]
unitIncludes :: forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; [String]
unitInstanceOf :: forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; compid
unitInstantiations :: forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; [(modulename, mod)]
unitIsExposed :: forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; Bool
unitIsIndefinite :: forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; Bool
unitIsTrusted :: forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; Bool
unitLibraries :: forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; [String]
unitLibraryDirs :: forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; [String]
unitLibraryDynDirs :: forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; [String]
unitLinkerOptions :: forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; [String]
unitPackageVersion :: forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; Version
unitIsTrusted :: Bool
unitIsExposed :: Bool
unitIsIndefinite :: Bool
unitHiddenModules :: [ModuleName]
unitExposedModules :: [(ModuleName, Maybe (GenModule (GenUnit UnitId)))]
unitHaddockHTMLs :: [String]
unitHaddockInterfaces :: [String]
unitIncludeDirs :: [String]
unitIncludes :: [String]
unitCcOptions :: [String]
unitLinkerOptions :: [String]
unitExtDepFrameworkDirs :: [String]
unitExtDepFrameworks :: [String]
unitLibraryDynDirs :: [String]
unitLibraryDirs :: [String]
unitExtDepLibsGhc :: [String]
unitExtDepLibsSys :: [String]
unitLibraries :: [String]
unitImportDirs :: [String]
unitAbiDepends :: [(UnitId, String)]
unitDepends :: [UnitId]
unitAbiHash :: String
unitComponentName :: Maybe PackageName
unitPackageVersion :: Version
unitPackageName :: PackageName
unitPackageId :: PackageId
unitInstantiations :: [(ModuleName, GenModule (GenUnit UnitId))]
unitInstanceOf :: Indefinite UnitId
unitId :: UnitId
unitPackageName :: forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; srcpkgname
unitPackageId :: forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; srcpkgid
</span><a href="../../ghc-boot/src/GHC.Unit.Database.html#unitAbiDepends"><span class="hs-glyph hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var hs-var">..</span></a></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span><span class="hs-special">}</span><span> </span><span class="hs-glyph">=</span><span>
</span><span id="line-129"></span><span>    </span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#vcat"><span class="hs-identifier hs-var">vcat</span></a></span><span> </span><span class="hs-special">[</span><span>
</span><span id="line-130"></span><span>      </span><span class="annot"><span class="annottext">String -&gt; SDoc -&gt; SDoc
</span><a href="#local-6989586621680827727"><span class="hs-identifier hs-var">field</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;name&quot;</span></span><span>                 </span><span class="hs-special">(</span><span class="annot"><span class="annottext">PackageName -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">PackageName
</span><a href="#local-6989586621680827780"><span class="hs-identifier hs-var">unitPackageName</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-131"></span><span>      </span><span class="annot"><span class="annottext">String -&gt; SDoc -&gt; SDoc
</span><a href="#local-6989586621680827727"><span class="hs-identifier hs-var">field</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;version&quot;</span></span><span>              </span><span class="hs-special">(</span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Version -&gt; String
</span><a href="../../base/src/Data.Version.html#showVersion"><span class="hs-identifier hs-var">showVersion</span></a></span><span> </span><span class="annot"><span class="annottext">Version
</span><a href="#local-6989586621680827779"><span class="hs-identifier hs-var">unitPackageVersion</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-132"></span><span>      </span><span class="annot"><span class="annottext">String -&gt; SDoc -&gt; SDoc
</span><a href="#local-6989586621680827727"><span class="hs-identifier hs-var">field</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;id&quot;</span></span><span>                   </span><span class="hs-special">(</span><span class="annot"><span class="annottext">UnitId -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId
</span><a href="#local-6989586621680827784"><span class="hs-identifier hs-var">unitId</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-133"></span><span>      </span><span class="annot"><span class="annottext">String -&gt; SDoc -&gt; SDoc
</span><a href="#local-6989586621680827727"><span class="hs-identifier hs-var">field</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;exposed&quot;</span></span><span>              </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621680827757"><span class="hs-identifier hs-var">unitIsExposed</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-134"></span><span>      </span><span class="annot"><span class="annottext">String -&gt; SDoc -&gt; SDoc
</span><a href="#local-6989586621680827727"><span class="hs-identifier hs-var">field</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;exposed-modules&quot;</span></span><span>      </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[(ModuleName, Maybe (GenModule (GenUnit UnitId)))] -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">[(ModuleName, Maybe (GenModule (GenUnit UnitId)))]
</span><a href="#local-6989586621680827760"><span class="hs-identifier hs-var">unitExposedModules</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-135"></span><span>      </span><span class="annot"><span class="annottext">String -&gt; SDoc -&gt; SDoc
</span><a href="#local-6989586621680827727"><span class="hs-identifier hs-var">field</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;hidden-modules&quot;</span></span><span>       </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#fsep"><span class="hs-identifier hs-var">fsep</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(ModuleName -&gt; SDoc) -&gt; [ModuleName] -&gt; [SDoc]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">ModuleName -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">[ModuleName]
</span><a href="#local-6989586621680827759"><span class="hs-identifier hs-var">unitHiddenModules</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-136"></span><span>      </span><span class="annot"><span class="annottext">String -&gt; SDoc -&gt; SDoc
</span><a href="#local-6989586621680827727"><span class="hs-identifier hs-var">field</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;trusted&quot;</span></span><span>              </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Bool -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="#local-6989586621680827756"><span class="hs-identifier hs-var">unitIsTrusted</span></a></span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-137"></span><span>      </span><span class="annot"><span class="annottext">String -&gt; SDoc -&gt; SDoc
</span><a href="#local-6989586621680827727"><span class="hs-identifier hs-var">field</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;import-dirs&quot;</span></span><span>          </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#fsep"><span class="hs-identifier hs-var">fsep</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(String -&gt; SDoc) -&gt; [String] -&gt; [SDoc]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621680827774"><span class="hs-identifier hs-var">unitImportDirs</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-138"></span><span>      </span><span class="annot"><span class="annottext">String -&gt; SDoc -&gt; SDoc
</span><a href="#local-6989586621680827727"><span class="hs-identifier hs-var">field</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;library-dirs&quot;</span></span><span>         </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#fsep"><span class="hs-identifier hs-var">fsep</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(String -&gt; SDoc) -&gt; [String] -&gt; [SDoc]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621680827770"><span class="hs-identifier hs-var">unitLibraryDirs</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-139"></span><span>      </span><span class="annot"><span class="annottext">String -&gt; SDoc -&gt; SDoc
</span><a href="#local-6989586621680827727"><span class="hs-identifier hs-var">field</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;dynamic-library-dirs&quot;</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#fsep"><span class="hs-identifier hs-var">fsep</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(String -&gt; SDoc) -&gt; [String] -&gt; [SDoc]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621680827769"><span class="hs-identifier hs-var">unitLibraryDynDirs</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-140"></span><span>      </span><span class="annot"><span class="annottext">String -&gt; SDoc -&gt; SDoc
</span><a href="#local-6989586621680827727"><span class="hs-identifier hs-var">field</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;hs-libraries&quot;</span></span><span>         </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#fsep"><span class="hs-identifier hs-var">fsep</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(String -&gt; SDoc) -&gt; [String] -&gt; [SDoc]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621680827773"><span class="hs-identifier hs-var">unitLibraries</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-141"></span><span>      </span><span class="annot"><span class="annottext">String -&gt; SDoc -&gt; SDoc
</span><a href="#local-6989586621680827727"><span class="hs-identifier hs-var">field</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;extra-libraries&quot;</span></span><span>      </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#fsep"><span class="hs-identifier hs-var">fsep</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(String -&gt; SDoc) -&gt; [String] -&gt; [SDoc]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621680827772"><span class="hs-identifier hs-var">unitExtDepLibsSys</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-142"></span><span>      </span><span class="annot"><span class="annottext">String -&gt; SDoc -&gt; SDoc
</span><a href="#local-6989586621680827727"><span class="hs-identifier hs-var">field</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;extra-ghci-libraries&quot;</span></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#fsep"><span class="hs-identifier hs-var">fsep</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(String -&gt; SDoc) -&gt; [String] -&gt; [SDoc]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621680827771"><span class="hs-identifier hs-var">unitExtDepLibsGhc</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-143"></span><span>      </span><span class="annot"><span class="annottext">String -&gt; SDoc -&gt; SDoc
</span><a href="#local-6989586621680827727"><span class="hs-identifier hs-var">field</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;include-dirs&quot;</span></span><span>         </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#fsep"><span class="hs-identifier hs-var">fsep</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(String -&gt; SDoc) -&gt; [String] -&gt; [SDoc]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621680827763"><span class="hs-identifier hs-var">unitIncludeDirs</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-144"></span><span>      </span><span class="annot"><span class="annottext">String -&gt; SDoc -&gt; SDoc
</span><a href="#local-6989586621680827727"><span class="hs-identifier hs-var">field</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;includes&quot;</span></span><span>             </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#fsep"><span class="hs-identifier hs-var">fsep</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(String -&gt; SDoc) -&gt; [String] -&gt; [SDoc]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621680827764"><span class="hs-identifier hs-var">unitIncludes</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-145"></span><span>      </span><span class="annot"><span class="annottext">String -&gt; SDoc -&gt; SDoc
</span><a href="#local-6989586621680827727"><span class="hs-identifier hs-var">field</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;depends&quot;</span></span><span>              </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#fsep"><span class="hs-identifier hs-var">fsep</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(UnitId -&gt; SDoc) -&gt; [UnitId] -&gt; [SDoc]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">UnitId -&gt; SDoc
forall a. Outputable a =&gt; a -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#ppr"><span class="hs-identifier hs-var">ppr</span></a></span><span>  </span><span class="annot"><span class="annottext">[UnitId]
</span><a href="#local-6989586621680827776"><span class="hs-identifier hs-var">unitDepends</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-146"></span><span>      </span><span class="annot"><span class="annottext">String -&gt; SDoc -&gt; SDoc
</span><a href="#local-6989586621680827727"><span class="hs-identifier hs-var">field</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;cc-options&quot;</span></span><span>           </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#fsep"><span class="hs-identifier hs-var">fsep</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(String -&gt; SDoc) -&gt; [String] -&gt; [SDoc]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621680827765"><span class="hs-identifier hs-var">unitCcOptions</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-147"></span><span>      </span><span class="annot"><span class="annottext">String -&gt; SDoc -&gt; SDoc
</span><a href="#local-6989586621680827727"><span class="hs-identifier hs-var">field</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;ld-options&quot;</span></span><span>           </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#fsep"><span class="hs-identifier hs-var">fsep</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(String -&gt; SDoc) -&gt; [String] -&gt; [SDoc]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621680827766"><span class="hs-identifier hs-var">unitLinkerOptions</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-148"></span><span>      </span><span class="annot"><span class="annottext">String -&gt; SDoc -&gt; SDoc
</span><a href="#local-6989586621680827727"><span class="hs-identifier hs-var">field</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;framework-dirs&quot;</span></span><span>       </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#fsep"><span class="hs-identifier hs-var">fsep</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(String -&gt; SDoc) -&gt; [String] -&gt; [SDoc]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621680827767"><span class="hs-identifier hs-var">unitExtDepFrameworkDirs</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-149"></span><span>      </span><span class="annot"><span class="annottext">String -&gt; SDoc -&gt; SDoc
</span><a href="#local-6989586621680827727"><span class="hs-identifier hs-var">field</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;frameworks&quot;</span></span><span>           </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#fsep"><span class="hs-identifier hs-var">fsep</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(String -&gt; SDoc) -&gt; [String] -&gt; [SDoc]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621680827768"><span class="hs-identifier hs-var">unitExtDepFrameworks</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-150"></span><span>      </span><span class="annot"><span class="annottext">String -&gt; SDoc -&gt; SDoc
</span><a href="#local-6989586621680827727"><span class="hs-identifier hs-var">field</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;haddock-interfaces&quot;</span></span><span>   </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#fsep"><span class="hs-identifier hs-var">fsep</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(String -&gt; SDoc) -&gt; [String] -&gt; [SDoc]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621680827762"><span class="hs-identifier hs-var">unitHaddockInterfaces</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span class="hs-special">,</span><span>
</span><span id="line-151"></span><span>      </span><span class="annot"><span class="annottext">String -&gt; SDoc -&gt; SDoc
</span><a href="#local-6989586621680827727"><span class="hs-identifier hs-var">field</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><span class="hs-string">&quot;haddock-html&quot;</span></span><span>         </span><span class="hs-special">(</span><span class="annot"><span class="annottext">[SDoc] -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#fsep"><span class="hs-identifier hs-var">fsep</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">(String -&gt; SDoc) -&gt; [String] -&gt; [SDoc]
forall a b. (a -&gt; b) -&gt; [a] -&gt; [b]
</span><a href="../../base/src/GHC.Base.html#map"><span class="hs-identifier hs-var">map</span></a></span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">[String]
</span><a href="#local-6989586621680827761"><span class="hs-identifier hs-var">unitHaddockHTMLs</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-152"></span><span>    </span><span class="hs-special">]</span><span>
</span><span id="line-153"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-154"></span><span>    </span><span id="local-6989586621680827727"><span class="annot"><span class="annottext">field :: String -&gt; SDoc -&gt; SDoc
</span><a href="#local-6989586621680827727"><span class="hs-identifier hs-var hs-var">field</span></a></span></span><span> </span><span id="local-6989586621680827723"><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621680827723"><span class="hs-identifier hs-var">name</span></a></span></span><span> </span><span id="local-6989586621680827722"><span class="annot"><span class="annottext">SDoc
</span><a href="#local-6989586621680827722"><span class="hs-identifier hs-var">body</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#text"><span class="hs-identifier hs-var">text</span></a></span><span> </span><span class="annot"><span class="annottext">String
</span><a href="#local-6989586621680827723"><span class="hs-identifier hs-var">name</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%3E"><span class="hs-operator hs-var">&lt;&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="GHC.Utils.Outputable.html#colon"><span class="hs-identifier hs-var">colon</span></a></span><span> </span><span class="annot"><span class="annottext">SDoc -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#%3C%2B%3E"><span class="hs-operator hs-var">&lt;+&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">Int -&gt; SDoc -&gt; SDoc
</span><a href="GHC.Utils.Outputable.html#nest"><span class="hs-identifier hs-var">nest</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">4</span></span><span> </span><span class="annot"><span class="annottext">SDoc
</span><a href="#local-6989586621680827722"><span class="hs-identifier hs-var">body</span></a></span><span>
</span><span id="line-155"></span><span>
</span><span id="line-156"></span><span class="hs-comment">-- | Make a `Unit` from a `UnitInfo`</span><span>
</span><span id="line-157"></span><span class="hs-comment">--</span><span>
</span><span id="line-158"></span><span class="hs-comment">-- If the unit is definite, make a `RealUnit` from `unitId` field.</span><span>
</span><span id="line-159"></span><span class="hs-comment">--</span><span>
</span><span id="line-160"></span><span class="hs-comment">-- If the unit is indefinite, make a `VirtUnit` from `unitInstanceOf` and</span><span>
</span><span id="line-161"></span><span class="hs-comment">-- `unitInstantiations` fields. Note that in this case we don't keep track of</span><span>
</span><span id="line-162"></span><span class="hs-comment">-- `unitId`. It can be retrieved later with &quot;improvement&quot;, i.e. matching on</span><span>
</span><span id="line-163"></span><span class="hs-comment">-- `unitInstanceOf/unitInstantiations` fields (see Note [About units] in</span><span>
</span><span id="line-164"></span><span class="hs-comment">-- GHC.Unit).</span><span>
</span><span id="line-165"></span><span class="annot"><a href="GHC.Unit.Info.html#mkUnit"><span class="hs-identifier hs-type">mkUnit</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Info.html#UnitInfo"><span class="hs-identifier hs-type">UnitInfo</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Types.html#Unit"><span class="hs-identifier hs-type">Unit</span></a></span><span>
</span><span id="line-166"></span><span id="mkUnit"><span class="annot"><span class="annottext">mkUnit :: UnitInfo -&gt; GenUnit UnitId
</span><a href="GHC.Unit.Info.html#mkUnit"><span class="hs-identifier hs-var hs-var">mkUnit</span></a></span></span><span> </span><span id="local-6989586621680827716"><span class="annot"><span class="annottext">UnitInfo
</span><a href="#local-6989586621680827716"><span class="hs-identifier hs-var">p</span></a></span></span><span>
</span><span id="line-167"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">UnitInfo -&gt; Bool
forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; Bool
</span><a href="../../ghc-boot/src/GHC.Unit.Database.html#unitIsIndefinite"><span class="hs-identifier hs-var hs-var">unitIsIndefinite</span></a></span><span> </span><span class="annot"><span class="annottext">UnitInfo
</span><a href="#local-6989586621680827716"><span class="hs-identifier hs-var">p</span></a></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Indefinite UnitId
-&gt; [(ModuleName, GenModule (GenUnit UnitId))] -&gt; GenUnit UnitId
</span><a href="GHC.Unit.Types.html#mkVirtUnit"><span class="hs-identifier hs-var">mkVirtUnit</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">UnitInfo -&gt; Indefinite UnitId
forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; compid
</span><a href="../../ghc-boot/src/GHC.Unit.Database.html#unitInstanceOf"><span class="hs-identifier hs-var hs-var">unitInstanceOf</span></a></span><span> </span><span class="annot"><span class="annottext">UnitInfo
</span><a href="#local-6989586621680827716"><span class="hs-identifier hs-var">p</span></a></span><span class="hs-special">)</span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">UnitInfo -&gt; [(ModuleName, GenModule (GenUnit UnitId))]
forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; [(modulename, mod)]
</span><a href="../../ghc-boot/src/GHC.Unit.Database.html#unitInstantiations"><span class="hs-identifier hs-var hs-var">unitInstantiations</span></a></span><span> </span><span class="annot"><span class="annottext">UnitInfo
</span><a href="#local-6989586621680827716"><span class="hs-identifier hs-var">p</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-168"></span><span>   </span><span class="hs-glyph">|</span><span> </span><span class="annot"><span class="annottext">Bool
</span><a href="../../base/src/GHC.Base.html#otherwise"><span class="hs-identifier hs-var">otherwise</span></a></span><span>          </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Definite UnitId -&gt; GenUnit UnitId
forall uid. Definite uid -&gt; GenUnit uid
</span><a href="GHC.Unit.Types.html#RealUnit"><span class="hs-identifier hs-var">RealUnit</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">UnitId -&gt; Definite UnitId
forall unit. unit -&gt; Definite unit
</span><a href="GHC.Unit.Types.html#Definite"><span class="hs-identifier hs-var">Definite</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">UnitInfo -&gt; UnitId
forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; uid
</span><a href="../../ghc-boot/src/GHC.Unit.Database.html#unitId"><span class="hs-identifier hs-var hs-var">unitId</span></a></span><span> </span><span class="annot"><span class="annottext">UnitInfo
</span><a href="#local-6989586621680827716"><span class="hs-identifier hs-var">p</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span>
</span><span id="line-169"></span><span>
</span><span id="line-170"></span><span class="hs-comment">-- | Create a UnitPprInfo from a UnitInfo</span><span>
</span><span id="line-171"></span><span id="local-6989586621680827987"><span class="annot"><a href="GHC.Unit.Info.html#mkUnitPprInfo"><span class="hs-identifier hs-type">mkUnitPprInfo</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Unit.Info.html#GenUnitInfo"><span class="hs-identifier hs-type">GenUnitInfo</span></a></span><span> </span><span class="annot"><a href="#local-6989586621680827987"><span class="hs-identifier hs-type">u</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Unit.Ppr.html#UnitPprInfo"><span class="hs-identifier hs-type">UnitPprInfo</span></a></span></span><span>
</span><span id="line-172"></span><span id="mkUnitPprInfo"><span class="annot"><span class="annottext">mkUnitPprInfo :: forall u. GenUnitInfo u -&gt; UnitPprInfo
</span><a href="GHC.Unit.Info.html#mkUnitPprInfo"><span class="hs-identifier hs-var hs-var">mkUnitPprInfo</span></a></span></span><span> </span><span id="local-6989586621680827712"><span class="annot"><span class="annottext">GenUnitInfo u
</span><a href="#local-6989586621680827712"><span class="hs-identifier hs-var">i</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">String -&gt; Version -&gt; Maybe String -&gt; UnitPprInfo
</span><a href="GHC.Unit.Ppr.html#UnitPprInfo"><span class="hs-identifier hs-var">UnitPprInfo</span></a></span><span>
</span><span id="line-173"></span><span>   </span><span class="hs-special">(</span><span class="annot"><span class="annottext">GenUnitInfo u -&gt; String
forall u. GenUnitInfo u -&gt; String
</span><a href="GHC.Unit.Info.html#unitPackageNameString"><span class="hs-identifier hs-var">unitPackageNameString</span></a></span><span> </span><span class="annot"><span class="annottext">GenUnitInfo u
</span><a href="#local-6989586621680827712"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-174"></span><span>   </span><span class="hs-special">(</span><span class="annot"><span class="annottext">GenUnitInfo u -&gt; Version
forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; Version
</span><a href="../../ghc-boot/src/GHC.Unit.Database.html#unitPackageVersion"><span class="hs-identifier hs-var hs-var">unitPackageVersion</span></a></span><span> </span><span class="annot"><span class="annottext">GenUnitInfo u
</span><a href="#local-6989586621680827712"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-175"></span><span>   </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="annot"><span class="annottext">FastString -&gt; String
</span><a href="GHC.Data.FastString.html#unpackFS"><span class="hs-identifier hs-var">unpackFS</span></a></span><span> </span><span class="annot"><span class="annottext">(FastString -&gt; String)
-&gt; (PackageName -&gt; FastString) -&gt; PackageName -&gt; String
forall b c a. (b -&gt; c) -&gt; (a -&gt; b) -&gt; a -&gt; c
</span><a href="../../base/src/GHC.Base.html#."><span class="hs-operator hs-var">.</span></a></span><span> </span><span class="annot"><span class="annottext">PackageName -&gt; FastString
</span><a href="GHC.Unit.Info.html#unPackageName"><span class="hs-identifier hs-var hs-var">unPackageName</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">(PackageName -&gt; String) -&gt; Maybe PackageName -&gt; Maybe String
forall (f :: * -&gt; *) a b. Functor f =&gt; (a -&gt; b) -&gt; f a -&gt; f b
</span><a href="../../base/src/Data.Functor.html#%3C%24%3E"><span class="hs-operator hs-var">&lt;$&gt;</span></a></span><span> </span><span class="annot"><span class="annottext">GenUnitInfo u -&gt; Maybe PackageName
forall compid srcpkgid srcpkgname uid modulename mod.
GenericUnitInfo compid srcpkgid srcpkgname uid modulename mod
-&gt; Maybe srcpkgname
</span><a href="../../ghc-boot/src/GHC.Unit.Database.html#unitComponentName"><span class="hs-identifier hs-var hs-var">unitComponentName</span></a></span><span> </span><span class="annot"><span class="annottext">GenUnitInfo u
</span><a href="#local-6989586621680827712"><span class="hs-identifier hs-var">i</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-176"></span></pre></body></html>